<?php

/**
 * Gerencia sessoes com o usuario
 *
 */
class Session {

    /**
     * Método setValue()
     * armazena uma variável na sessão
     * @param $key = Nome da variável
     * @param $value = Valor
     */
    static function setValue($key, $value) {
        $_SESSION[$key] = $value;
    }

    /**
     * Método getValue()
     * retorna uma variável da sessao
     * @param $key = Nome da variável
     */
    static function getValue($key, $destroy = FALSE) {
        $ret = null;

        if (isset($_SESSION[$key])) {
            $ret = $_SESSION[$key];
        }
        if ($destroy) {
            Session::destroy($key);
        }

        return $ret;
    }

    /**
     * método destroy()
     * destrói variaveis de session
     */
    public static function destroy($key) {
        if (isset($_SESSION[$key])) {
            unset($_SESSION[$key]);
        }
    }

    /**
     * método freeSession()
     * destrói os dados de uma sessão
     */
    public static function freeSession() {
      session_start();
      session_unset();
      session_destroy();
      session_write_close();
      setcookie(session_name(),'',0,'/');
      session_regenerate_id(true);
    }
}

?>
